package app.repositories.impl;

import java.util.List;

import javax.persistence.EntityManager;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;

import app.models.Produto;
import app.repositories.ProdutoRepository;
import app.repositories.Repository;
import app.util.Constants;
import br.com.caelum.vraptor.ioc.Component;

@Component
public class ProdutoRepositoryImpl extends Repository<Produto, Long> implements ProdutoRepository {

	protected ProdutoRepositoryImpl(EntityManager entityManager) {
		super(entityManager);
	}
	
	@SuppressWarnings("unchecked")
	public List<Produto> findLastProdutos() {
		final Criteria criteria = createCriteria();
		
		criteria.addOrder(Order.desc(Constants.ID));
		criteria.setMaxResults(10);
		
		return criteria.list();
	}

}
